์๋น์ค ๊ฒ์ ๋ฐ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ๋ํ ์ฌ์ธต ๋ถ์์ ํตํด ํ๋ก ํธ์๋ ๋ง์ดํฌ๋ก์๋น์ค์ ์ ์ฌ๋ ฅ์ ํ์ฉํ์ธ์. ํ๋ ฅ ์๊ณ ํ์ฅ ๊ฐ๋ฅํ ๊ธ๋ก๋ฒ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ถ์ ์ํ ํ์ ํต์ฐฐ๋ ฅ.
ํ๋ก ํธ์๋ ๋ง์ดํฌ๋ก์๋น์ค ๋ฉ์: ๊ธ๋ก๋ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ์๋น์ค ๊ฒ์ ๋ฐ ๋ก๋ ๋ฐธ๋ฐ์ฑ ์๋ฌ
์น ๊ฐ๋ฐ์ ๋น ๋ฅด๊ฒ ์งํํ๋ ํ๊ฒฝ์์ ๋ง์ดํฌ๋ก์๋น์ค ์ฑํ์ ํ์ฅ ๊ฐ๋ฅํ๊ณ ํ๋ ฅ์ ์ด๋ฉฐ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅํ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ถ์ ์ด์์ด ๋์์ต๋๋ค. ๋ง์ดํฌ๋ก์๋น์ค๋ ์ ํต์ ์ผ๋ก ๋ฐฑ์๋์ ๊ด์ฌ์ฌ์์ง๋ง, ๋ง์ดํฌ๋กํ๋ก ํธ์๋ ์ํคํ ์ฒ์ ๋ถ์์ ํ๋ก ํธ์๋์ ์ ์ฌํ ์์น์ ๊ฐ์ ธ์ค๊ณ ์์ต๋๋ค. ์ด๋ฌํ ๋ณํ๋ ํนํ ์ด๋ฌํ ๋ ๋ฆฝ์ ์ธ ํ๋ก ํธ์๋ ๋จ์, ์ฆ ๋ง์ดํฌ๋กํ๋ก ํธ์๋๊ฐ ํจ๊ณผ์ ์ผ๋ก ํต์ ํ๊ณ ํ์ ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์๋ก์ด ๊ณผ์ ๋ฅผ ์ ์ํฉ๋๋ค. ๋ถ์ฐ๋ ํ๋ก ํธ์๋ ๊ตฌ์ฑ ์์๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํด ๋ฐฑ์๋ ์๋น์ค ๋ฉ์ฌ์ ์์น์ ํ์ฉํ๋ ํ๋ก ํธ์๋ ๋ง์ดํฌ๋ก์๋น์ค ๋ฉ์์ ๊ฐ๋ ์ด ๋ฑ์ฅํฉ๋๋ค. ์ด ๋ฉ์ฌ์ ํต์ฌ์๋ ๋ ๊ฐ์ง ์ค์ํ ๊ธฐ๋ฅ, ์ฆ ์๋น์ค ๊ฒ์ ๋ฐ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ด ์์ต๋๋ค. ์ด ํฌ๊ด์ ์ธ ๊ฐ์ด๋์์๋ ์ด๋ฌํ ๊ฐ๋ ์ ์์ธํ ์ดํด๋ณด๊ณ , ํ๋ ฅ์ ์ธ ๊ธ๋ก๋ฒ ํ๋ก ํธ์๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ถ์ ์ํ ์ค์์ฑ, ๊ตฌํ ์ ๋ต ๋ฐ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ํ๊ตฌํฉ๋๋ค.
ํ๋ก ํธ์๋ ๋ง์ดํฌ๋ก์๋น์ค ๋ฉ์ ์ดํด
์๋น์ค ๊ฒ์ ๋ฐ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ์์ธํ ์์๋ณด๊ธฐ ์ ์ ํ๋ก ํธ์๋ ๋ง์ดํฌ๋ก์๋น์ค ๋ฉ์ฌ๊ฐ ๋ฌด์์ ํฌํจํ๋์ง ์ดํดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ ํต์ ์ธ ๋ชจ๋๋ฆฌ์ ํ๋ก ํธ์๋์ ๋ฌ๋ฆฌ ๋ง์ดํฌ๋กํ๋ก ํธ์๋ ์ํคํ ์ฒ๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ๋ ์๊ณ ๋ ๋ฆฝ์ ์ผ๋ก ๋ฐฐํฌ ๊ฐ๋ฅํ ์กฐ๊ฐ์ผ๋ก ๋ถํดํ๋ฉฐ, ์ข ์ข ๋น์ฆ๋์ค ๊ธฐ๋ฅ ๋๋ ์ฌ์ฉ์ ์ฌ์ ์ ์ค์ฌ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์ด๋ฌํ ์กฐ๊ฐ์ ๋ค๋ฅธ ํ์์ ์์จ์ ์ผ๋ก ๊ฐ๋ฐ, ๋ฐฐํฌ ๋ฐ ํ์ฅํ ์ ์์ต๋๋ค. ํ๋ก ํธ์๋ ๋ง์ดํฌ๋ก์๋น์ค ๋ฉ์ฌ๋ ์ด๋ฌํ ๋ถ์ฐ๋ ํ๋ก ํธ์๋ ๋จ์์ ์ํธ ์์ฉ, ํต์ ๋ฐ ๊ด๋ฆฌ๋ฅผ ์ฉ์ดํ๊ฒ ํ๋ ์ถ์ํ ๊ณ์ธต ๋๋ ์ค์ผ์คํธ๋ ์ด์ ํ๋ ์์ํฌ ์ญํ ์ ํฉ๋๋ค.
ํ๋ก ํธ์๋ ๋ง์ดํฌ๋ก์๋น์ค ๋ฉ์ฌ ๋ด์ ์ฃผ์ ๊ตฌ์ฑ ์์ ๋ฐ ๊ฐ๋ ์ ์ข ์ข ๋ค์์ ํฌํจํฉ๋๋ค:
- ๋ง์ดํฌ๋กํ๋ก ํธ์๋: ๊ฐ๋ณ์ ์ด๊ณ ์์ฒด ํฌํจ๋ ํ๋ก ํธ์๋ ์ ํ๋ฆฌ์ผ์ด์ ๋๋ ๊ตฌ์ฑ ์์.
- ์ปจํ ์ด๋ํ: ๋ง์ดํฌ๋กํ๋ก ํธ์๋๋ฅผ ์ผ๊ด๋๊ฒ ํจํค์งํ๊ณ ๋ฐฐํฌํ๋ ๋ฐ ์์ฃผ ์ฌ์ฉ๋ฉ๋๋ค(์: Docker ์ฌ์ฉ).
- ์ค์ผ์คํธ๋ ์ด์ : Kubernetes์ ๊ฐ์ ํ๋ซํผ์ ๋ง์ดํฌ๋กํ๋ก ํธ์๋ ์ปจํ ์ด๋์ ๋ฐฐํฌ ๋ฐ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
- API ๊ฒ์ดํธ์จ์ด / ์์ง ์๋น์ค: ์ฌ์ฉ์ ์์ฒญ์ ๊ณตํต ์ง์ ์ ์ด๋ฉฐ, ํด๋น ๋ง์ดํฌ๋กํ๋ก ํธ์๋ ๋๋ ๋ฐฑ์๋ ์๋น์ค๋ก ๋ผ์ฐํ ํฉ๋๋ค.
- ์๋น์ค ๊ฒ์: ๋ง์ดํฌ๋กํ๋ก ํธ์๋๊ฐ ์๋ก ๋๋ ๋ฐฑ์๋ ์๋น์ค์ ์ฐพ๊ณ ํต์ ํ๋ ๋ฉ์ปค๋์ฆ์ ๋๋ค.
- ๋ก๋ ๋ฐธ๋ฐ์ฑ: ๊ฐ์ฉ์ฑ ๋ฐ ์ฑ๋ฅ์ ๋ณด์ฅํ๊ธฐ ์ํด ๋ง์ดํฌ๋กํ๋ก ํธ์๋ ๋๋ ๋ฐฑ์๋ ์๋น์ค์ ์ฌ๋ฌ ์ธ์คํด์ค์ ๊ฑธ์ณ ๋ค์ด์ค๋ ํธ๋ํฝ์ ๋ถ๋ฐฐํฉ๋๋ค.
- ๊ด์ฐฐ ๊ฐ๋ฅ์ฑ: ๋ง์ดํฌ๋กํ๋ก ํธ์๋์ ๋์์ ๋ชจ๋ํฐ๋ง, ๋ก๊น ๋ฐ ์ถ์ ํ๋ ๋๊ตฌ์ ๋๋ค.
ํ๋ก ํธ์๋ ๋ง์ดํฌ๋ก์๋น์ค ๋ฉ์ฌ์ ๋ชฉํ๋ ์ด ๋ถ์ฐ ํน์ฑ์ผ๋ก ์ธํด ๋ฐ์ํ๋ ๋ณต์ก์ฑ์ ๊ด๋ฆฌํ๊ธฐ ์ํ ์ธํ๋ผ ๋ฐ ๋๊ตฌ๋ฅผ ์ ๊ณตํ์ฌ ๋งค์ฐ ๋์ ์ธ ํ๊ฒฝ์์๋ ์ํํ ์ฌ์ฉ์ ๊ฒฝํ์ ๋ณด์ฅํ๋ ๊ฒ์ ๋๋ค.
์๋น์ค ๊ฒ์์ ์ค์ํ ์ญํ
๋ง์ดํฌ๋กํ๋ก ํธ์๋ ์ํคํ ์ฒ์ ๊ฐ์ ๋ถ์ฐ ์์คํ ์์๋ ์๋น์ค(์ด ๊ฒฝ์ฐ ๋ง์ดํฌ๋กํ๋ก ํธ์๋ ๋ฐ ๊ด๋ จ ๋ฐฑ์๋ ์๋น์ค)๊ฐ ๋์ ์ผ๋ก ์๋ก๋ฅผ ์ฐพ๊ณ ํต์ ํ ์ ์์ด์ผ ํฉ๋๋ค. ์๋น์ค๋ ์์ฃผ ์์, ์ถ์ ๋๋ ์ฌ๋ฐฐํฌ๋๋ฏ๋ก ๋คํธ์ํฌ ์์น(IP ์ฃผ์ ๋ฐ ํฌํธ)๊ฐ ์์ฃผ ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค. ์๋น์ค ๊ฒ์์ ์๋ ๊ตฌ์ฑ์ด๋ ํ๋์ฝ๋ฉ ์์ด ์๋น์ค๊ฐ ์ํธ ์์ฉํด์ผ ํ๋ ๋ค๋ฅธ ์๋น์ค์ ๋คํธ์ํฌ ์์น๋ฅผ ์ฐพ์ ์ ์๋๋ก ํ๋ ํ๋ก์ธ์ค์ ๋๋ค.
ํ๋ก ํธ์๋ ๋ง์ดํฌ๋ก์๋น์ค์ ์๋น์ค ๊ฒ์์ด ํ์์ ์ธ ์ด์ ๋ ๋ฌด์์ ๋๊น?
- ๋์ ํ๊ฒฝ: ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ๋ฐฐํฌ๋ ๋ณธ์ง์ ์ผ๋ก ๋์ ์ ๋๋ค. ์ปจํ ์ด๋๋ ์ผ์์ ์ด๋ฉฐ ์๋ ํ์ฅ์ ์ธ์ ๋ ์ง ์๋น์ค ์คํ ์ธ์คํด์ค ์๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. ์๋ IP/ํฌํธ ๊ด๋ฆฌ๋ ๋ถ๊ฐ๋ฅํฉ๋๋ค.
- ๋ถ๋ฆฌ: ๋ง์ดํฌ๋กํ๋ก ํธ์๋๋ ๋ ๋ฆฝ์ ์ด์ด์ผ ํฉ๋๋ค. ์๋น์ค ๊ฒ์์ ์๋น์ค์ ์๋น์๋ฅผ ํด๋น ํ๋ก๋์์ ๋ถ๋ฆฌํ์ฌ ํ๋ก๋์๊ฐ ์๋น์์ ์ํฅ์ ๋ฏธ์น์ง ์๊ณ ์์ ์ ์์น ๋๋ ์ธ์คํด์ค ์๋ฅผ ๋ณ๊ฒฝํ ์ ์๋๋ก ํฉ๋๋ค.
- ํ๋ ฅ์ฑ: ์๋น์ค ์ธ์คํด์ค ์ค ํ๋๊ฐ ๋น์ ์ ์ํ๊ฐ ๋๋ฉด ์๋น์ค ๊ฒ์์ ํตํด ์๋น์๊ฐ ์ ์์ ์ธ ๋์์ ์ฐพ์ ์ ์์ต๋๋ค.
- ํ์ฅ์ฑ: ํธ๋ํฝ์ด ์ฆ๊ฐํจ์ ๋ฐ๋ผ ๋ง์ดํฌ๋กํ๋ก ํธ์๋ ๋๋ ๋ฐฑ์๋ ์๋น์ค์ ์ ์ธ์คํด์ค๊ฐ ์์๋ ์ ์์ต๋๋ค. ์๋น์ค ๊ฒ์์ ํตํด ์ด๋ฌํ ์ ์ธ์คํด์ค๋ฅผ ๋ฑ๋กํ๊ณ ์ฆ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ํ ์์จ์ฑ: ํ์ ๋ค๋ฅธ ์๋น์ค๊ฐ ์ฐพ์ ์ ์๋ค๋ ๊ฒ์ ์๊ณ ๋ ๋ฆฝ์ ์ผ๋ก ์๋น์ค๋ฅผ ๋ฐฐํฌํ๊ณ ํ์ฅํ ์ ์์ต๋๋ค.
์๋น์ค ๊ฒ์ ํจํด
์๋น์ค ๊ฒ์์ ๊ตฌํํ๋ ๋ ๊ฐ์ง ์ฃผ์ ํจํด์ด ์์ต๋๋ค:
1. ํด๋ผ์ด์ธํธ ์ธก ๊ฒ์
์ด ํจํด์์๋ ํด๋ผ์ด์ธํธ(๋ง์ดํฌ๋กํ๋ก ํธ์๋ ๋๋ ์กฐ์ ๊ณ์ธต)๊ฐ ์ค์ ์ง์ค์ ์๋น์ค ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์ฟผ๋ฆฌํ์ฌ ํ์ํ ์๋น์ค์ ์์น๋ฅผ ๊ฒ์ํ ์ฑ ์์ด ์์ต๋๋ค. ์ฌ์ฉ ๊ฐ๋ฅํ ์ธ์คํด์ค ๋ชฉ๋ก์ ๋ฐ์ผ๋ฉด ํด๋ผ์ด์ธํธ๊ฐ ์ฐ๊ฒฐํ ์ธ์คํด์ค๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
์๋ ๋ฐฉ์:
- ์๋น์ค ๋ฑ๋ก: ๋ง์ดํฌ๋กํ๋ก ํธ์๋(๋๋ ํด๋น ์๋ฒ ์ธก ๊ตฌ์ฑ ์์)๊ฐ ์์๋๋ฉด ์์ฒด ๋คํธ์ํฌ ์์น(IP ์ฃผ์, ํฌํธ)๋ฅผ ์ค์ ์ง์ค์ ์๋น์ค ๋ ์ง์คํธ๋ฆฌ์ ๋ฑ๋กํฉ๋๋ค.
- ์๋น์ค ์ฟผ๋ฆฌ: ํด๋ผ์ด์ธํธ๊ฐ ํน์ ์๋น์ค(์: '์ ํ ์นดํ๋ก๊ทธ' ๋ง์ดํฌ๋กํ๋ก ํธ์๋๊ฐ '์ ํ API' ๋ฐฑ์๋ ์๋น์ค์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์์ผ ํจ)์ ํต์ ํด์ผ ํ๋ ๊ฒฝ์ฐ ๋์ ์๋น์ค์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ธ์คํด์ค๋ฅผ ์ฐพ๊ธฐ ์ํด ์๋น์ค ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์ฟผ๋ฆฌํฉ๋๋ค.
- ํด๋ผ์ด์ธํธ ์ธก ๋ก๋ ๋ฐธ๋ฐ์ฑ: ์๋น์ค ๋ ์ง์คํธ๋ฆฌ๋ ์ฌ์ฉ ๊ฐ๋ฅํ ์ธ์คํด์ค ๋ชฉ๋ก์ ๋ฐํํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ํด๋ผ์ด์ธํธ๋ ํด๋ผ์ด์ธํธ ์ธก ๋ก๋ ๋ฐธ๋ฐ์ฑ ์๊ณ ๋ฆฌ์ฆ(์: ๋ผ์ด๋ ๋ก๋น, ์ต์ ์ฐ๊ฒฐ)์ ์ฌ์ฉํ์ฌ ์ธ์คํด์ค๋ฅผ ์ ํํ๊ณ ์์ฒญ์ ๋ณด๋ ๋๋ค.
๋๊ตฌ ๋ฐ ๊ธฐ์ :
- ์๋น์ค ๋ ์ง์คํธ๋ฆฌ: Eureka (Netflix), Consul, etcd, Zookeeper.
- ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ: ๋ฑ๋ก ๋ฐ ๊ฒ์์ ์ฒ๋ฆฌํ๊ธฐ ์ํด ํ๋ก ํธ์๋ ์ ํ๋ฆฌ์ผ์ด์ ๋๋ ํ๋ ์์ํฌ์ ํตํฉ๋๋ ์ด๋ฌํ ๋๊ตฌ์์ ์ ๊ณตํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ.
ํด๋ผ์ด์ธํธ ์ธก ๊ฒ์์ ์ฅ์ :
- ๊ฐ๋จํ ์ธํ๋ผ: ๊ฒ์์ ์ํ ์ ์ฉ ํ๋ก์ ๊ณ์ธต์ด ํ์ํ์ง ์์ต๋๋ค.
- ์ง์ ํต์ : ํด๋ผ์ด์ธํธ๋ ์๋น์ค ์ธ์คํด์ค์ ์ง์ ํต์ ํ๋ฏ๋ก ์ ์ฌ์ ์ผ๋ก ๋๊ธฐ ์๊ฐ์ด ์ค์ด๋ญ๋๋ค.
ํด๋ผ์ด์ธํธ ์ธก ๊ฒ์์ ๋จ์ :
- ํด๋ผ์ด์ธํธ ๋ณต์ก์ฑ: ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒ์ ๋ก์ง๊ณผ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ๊ตฌํํด์ผ ํฉ๋๋ค. ์ด๋ ํ๋ก ํธ์๋ ํ๋ ์์ํฌ์์ ์ด๋ ค์ธ ์ ์์ต๋๋ค.
- ๋ ์ง์คํธ๋ฆฌ์์ ๊ธด๋ฐํ ๊ฒฐํฉ: ํด๋ผ์ด์ธํธ๋ ์๋น์ค ๋ ์ง์คํธ๋ฆฌ์ API์ ๊ฒฐํฉ๋ฉ๋๋ค.
- ์ธ์ด/ํ๋ ์์ํฌ๋ณ: ๊ฒ์ ๋ก์ง์ ๊ฐ ํ๋ก ํธ์๋ ๊ธฐ์ ์คํ์ ๋ํด ๊ตฌํํด์ผ ํฉ๋๋ค.
2. ์๋ฒ ์ธก ๊ฒ์
์ด ํจํด์์๋ ํด๋ผ์ด์ธํธ๊ฐ ์๋ ค์ง ๋ผ์ฐํฐ ๋๋ ๋ก๋ ๋ฐธ๋ฐ์์ ์์ฒญ์ ๋ณด๋ ๋๋ค. ์ด ๋ผ์ฐํฐ/๋ก๋ ๋ฐธ๋ฐ์๋ ์๋น์ค ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์ฟผ๋ฆฌํ๊ณ ์์ฒญ์ ๋์ ์๋น์ค์ ์ ์ ํ ์ธ์คํด์ค๋ก ์ ๋ฌํ๋ ์ฑ ์์ด ์์ต๋๋ค. ํด๋ผ์ด์ธํธ๋ ๊ธฐ๋ณธ ์๋น์ค ์ธ์คํด์ค๋ฅผ ์์ง ๋ชปํฉ๋๋ค.
์๋ ๋ฐฉ์:
- ์๋น์ค ๋ฑ๋ก: ํด๋ผ์ด์ธํธ ์ธก ๊ฒ์๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์๋น์ค๋ ์๋น์ค ๋ ์ง์คํธ๋ฆฌ์ ์์ฒด ์์น๋ฅผ ๋ฑ๋กํฉ๋๋ค.
- ํด๋ผ์ด์ธํธ ์์ฒญ: ํด๋ผ์ด์ธํธ๋ ๋ผ์ฐํฐ/๋ก๋ ๋ฐธ๋ฐ์์ ๊ณ ์ ๋๊ณ ์ ์๋ ค์ง ์ฃผ์๋ก ์์ฒญ์ ๋ณด๋ด๋ฉฐ, ์ข
์ข
์๋น์ค ์ด๋ฆ์ผ๋ก ๋์ ์๋น์ค๋ฅผ ์ง์ ํฉ๋๋ค(์:
GET /api/products). - ์๋ฒ ์ธก ๋ผ์ฐํ : ๋ผ์ฐํฐ/๋ก๋ ๋ฐธ๋ฐ์๋ ์์ฒญ์ ์์ ํ๊ณ , 'products' ์๋น์ค์ ์ธ์คํด์ค๋ฅผ ์ฐพ๊ธฐ ์ํด ์๋น์ค ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์ฟผ๋ฆฌํ๊ณ , ์๋ฒ ์ธก ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ์ฌ์ฉํ์ฌ ์ธ์คํด์ค๋ฅผ ์ ํํ๊ณ , ํด๋น ์ธ์คํด์ค๋ก ์์ฒญ์ ์ ๋ฌํฉ๋๋ค.
๋๊ตฌ ๋ฐ ๊ธฐ์ :
- API ๊ฒ์ดํธ์จ์ด: Kong, Apigee, AWS API Gateway, Traefik.
- ์๋น์ค ๋ฉ์ ํ๋ก์: Envoy Proxy (Istio, App Mesh์ ์ฌ์ฉ๋จ), Linkerd.
- ํด๋ผ์ฐ๋ ๋ก๋ ๋ฐธ๋ฐ์: AWS ELB, Google Cloud Load Balancing, Azure Load Balancer.
์๋ฒ ์ธก ๊ฒ์์ ์ฅ์ :
- ๊ฐ์ํ๋ ํด๋ผ์ด์ธํธ: ํ๋ก ํธ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒ์ ๋ก์ง์ ๊ตฌํํ ํ์๊ฐ ์์ต๋๋ค. ๋จ์ง ์๋ ค์ง ์๋ํฌ์ธํธ๋ก ์์ฒญ์ ๋ณด๋ผ ๋ฟ์ ๋๋ค.
- ์ค์ ์ง์ค์ ์ ์ด: ๊ฒ์ ๋ฐ ๋ผ์ฐํ ๋ก์ง์ด ์ค์์์ ๊ด๋ฆฌ๋๋ฏ๋ก ์ ๋ฐ์ดํธ๊ฐ ๋ ์ฝ์ต๋๋ค.
- ์ธ์ด ๋ถ๊ฐ์ง๋ก : ํ๋ก ํธ์๋ ๊ธฐ์ ์คํ์ ๊ด๊ณ์์ด ์๋ํฉ๋๋ค.
- ํฅ์๋ ๊ด์ฐฐ ๊ฐ๋ฅ์ฑ: ์ค์ ์ง์ค์ ํ๋ก์๋ ๋ก๊น , ์ถ์ ๋ฐ ๋ฉํธ๋ฆญ์ ์ฝ๊ฒ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
์๋ฒ ์ธก ๊ฒ์์ ๋จ์ :
- ์ถ๊ฐ ํ: ํ๋ก์/๋ก๋ ๋ฐธ๋ฐ์๋ฅผ ํตํด ์ถ๊ฐ ๋คํธ์ํฌ ํ์ด ๋ฐ์ํ์ฌ ์ ์ฌ์ ์ผ๋ก ๋๊ธฐ ์๊ฐ์ด ์ฆ๊ฐํฉ๋๋ค.
- ์ธํ๋ผ ๋ณต์ก์ฑ: API ๊ฒ์ดํธ์จ์ด ๋๋ ํ๋ก์ ๊ณ์ธต์ ๊ด๋ฆฌํด์ผ ํฉ๋๋ค.
ํ๋ก ํธ์๋ ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ์ํ ์ฌ๋ฐ๋ฅธ ์๋น์ค ๊ฒ์ ์ ํ
ํ๋ก ํธ์๋ ๋ง์ดํฌ๋ก์๋น์ค, ํนํ ์ฌ๋ฌ ํ์์ ๋ค๋ฅธ ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐํ UI์ ๋ค๋ฅธ ๋ถ๋ถ์ ๊ฐ์ง ์ ์๋ ๋ง์ดํฌ๋กํ๋ก ํธ์๋ ์ํคํ ์ฒ์ ๊ฒฝ์ฐ, ์๋ฒ ์ธก ๊ฒ์์ด ์ข ์ข ๋ ์ค์ฉ์ ์ด๊ณ ์ ์ง ๊ด๋ฆฌ ๊ฐ๋ฅํ ์ ๊ทผ ๋ฐฉ์์ ๋๋ค.
- ํ๋ ์์ํฌ ๋ ๋ฆฝ์ฑ: ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ ๋ณต์กํ ์๋น์ค ๊ฒ์ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํฉํ๋ ๊ฒ์ ๋ํด ๊ฑฑ์ ํ์ง ์๊ณ UI ๊ตฌ์ฑ ์์๋ฅผ ๊ตฌ์ถํ๋ ๋ฐ ์ง์คํ ์ ์์ต๋๋ค.
- ์ค์ ์ง์ค์ ๊ด๋ฆฌ: ๋ฐฑ์๋ ์๋น์ค ๋๋ ๋ค๋ฅธ ๋ง์ดํฌ๋กํ๋ก ํธ์๋๋ฅผ ๊ฒ์ํ๊ณ ๋ผ์ฐํ ํ๋ ์ฑ ์์ API ๊ฒ์ดํธ์จ์ด ๋๋ ์ ์ฉ ๋ผ์ฐํ ๊ณ์ธต์์ ๊ด๋ฆฌํ ์ ์์ผ๋ฉฐ, ์ด๋ ํ๋ซํผ ํ์์ ์ ์ง ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
- ์ผ๊ด์ฑ: ๋ชจ๋ ๋ง์ดํฌ๋กํ๋ก ํธ์๋์ ๋ํ ํตํฉ ๊ฒ์ ๋ฉ์ปค๋์ฆ์ ์ผ๊ด๋ ๋์์ ๋ณด์ฅํ๊ณ ๋ฌธ์ ํด๊ฒฐ์ ์ฉ์ดํ๊ฒ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด ์ ์์๊ฑฐ๋ ์ฌ์ดํธ์ ์ ํ ๋ชฉ๋ก, ์ ํ ์ธ๋ถ ์ ๋ณด ๋ฐ ์ผํ ์นดํธ์ ๋ํ ๋ณ๋์ ๋ง์ดํฌ๋กํ๋ก ํธ์๋๊ฐ ์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์ด๋ฌํ ๋ง์ดํฌ๋กํ๋ก ํธ์๋๋ ๋ค์ํ ๋ฐฑ์๋ ์๋น์ค(์: product-service, inventory-service, cart-service)๋ฅผ ํธ์ถํด์ผ ํ ์ ์์ต๋๋ค. API ๊ฒ์ดํธ์จ์ด๋ ๋จ์ผ ์ง์
์ ์ญํ ์ ํ๊ณ ๊ฐ ์์ฒญ์ ๋ํ ์ฌ๋ฐ๋ฅธ ๋ฐฑ์๋ ์๋น์ค ์ธ์คํด์ค๋ฅผ ๊ฒ์ํ๊ณ ํด๋น ๋ฐฉ์์ผ๋ก ๋ผ์ฐํ
ํ ์ ์์ต๋๋ค. ๋ง์ฐฌ๊ฐ์ง๋ก ํ ๋ง์ดํฌ๋กํ๋ก ํธ์๋๊ฐ ๋ค๋ฅธ ๋ง์ดํฌ๋กํ๋ก ํธ์๋์์ ๋ ๋๋ง๋ ๋ฐ์ดํฐ(์: ์ ํ ๋ชฉ๋ก์ ์ ํ ๊ฐ๊ฒฉ ํ์)๋ฅผ ๊ฐ์ ธ์์ผ ํ๋ ๊ฒฝ์ฐ BFF(Backend for Frontend) ๋๋ ๋ผ์ฐํ
๊ณ์ธต์ด ์ด๋ฅผ ์๋น์ค ๊ฒ์์ ํตํด ์ด์งํ ์ ์์ต๋๋ค.
๋ก๋ ๋ฐธ๋ฐ์ฑ์ ๊ธฐ์
์๋น์ค๋ฅผ ๋ฐ๊ฒฌํ๋ฉด ๋ค์ ์ค์ํ ๋จ๊ณ๋ ํธ๋ํฝ์ ์ฌ๋ฌ ์๋น์ค ์ธ์คํด์ค์ ํจ๊ณผ์ ์ผ๋ก ๋ถ๋ฐฐํ๋ ๊ฒ์ ๋๋ค. ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ๋คํธ์ํฌ ํธ๋ํฝ ๋๋ ๊ณ์ฐ ์ํฌ๋ก๋๋ฅผ ์ฌ๋ฌ ์ปดํจํฐ ๋๋ ๋ฆฌ์์ค ๋คํธ์ํฌ์ ๋ถ๋ฐฐํ๋ ํ๋ก์ธ์ค์ ๋๋ค. ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ์ฃผ์ ๋ชฉํ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
- ์ฒ๋ฆฌ๋ ๊ทน๋ํ: ์์คํ ์ด ๊ฐ๋ฅํ ํ ๋ง์ ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์๋๋ก ํฉ๋๋ค.
- ์๋ต ์๊ฐ ์ต์ํ: ์ฌ์ฉ์๊ฐ ๋น ๋ฅธ ์๋ต์ ๋ฐ๋๋ก ํฉ๋๋ค.
- ๋จ์ผ ๋ฆฌ์์ค ๊ณผ๋ถํ ๋ฐฉ์ง: ๋จ์ผ ์ธ์คํด์ค๊ฐ ๋ณ๋ชฉ ํ์์ด ๋๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค.
- ๊ฐ์ฉ์ฑ ๋ฐ ์ ๋ขฐ์ฑ ํฅ์: ์ธ์คํด์ค ์ค ํ๋๊ฐ ์คํจํ๋ฉด ํธ๋ํฝ์ ์ ์ ์ธ์คํด์ค๋ก ๋ฆฌ๋๋ ์ ํ ์ ์์ต๋๋ค.
ํ๋ก ํธ์๋ ๋ง์ดํฌ๋ก์๋น์ค ๋ฉ์ ๋งฅ๋ฝ์์์ ๋ก๋ ๋ฐธ๋ฐ์ฑ
ํ๋ก ํธ์๋ ๋ง์ดํฌ๋ก์๋น์ค ๋งฅ๋ฝ์์ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ๋ค์ํ ๊ณ์ธต์์ ์ ์ฉ๋ฉ๋๋ค:
- API ๊ฒ์ดํธ์จ์ด/์์ง ์๋น์ค ๋ก๋ ๋ฐธ๋ฐ์ฑ: API ๊ฒ์ดํธ์จ์ด ๋๋ ๋ง์ดํฌ๋กํ๋ก ํธ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ง์ ์ ์ ์ฌ๋ฌ ์ธ์คํด์ค์ ๊ฑธ์ณ ๋ค์ด์ค๋ ์ฌ์ฉ์ ํธ๋ํฝ์ ๋ถ๋ฐฐํฉ๋๋ค.
- ๋ฐฑ์๋ ์๋น์ค ๋ก๋ ๋ฐธ๋ฐ์ฑ: ๋ง์ดํฌ๋กํ๋ก ํธ์๋ ๋๋ API ๊ฒ์ดํธ์จ์ด์ ์์ฒญ์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฐฑ์๋ ๋ง์ดํฌ๋ก์๋น์ค ์ธ์คํด์ค๋ก ๋ถ๋ฐฐํฉ๋๋ค.
- ๋์ผํ ๋ง์ดํฌ๋กํ๋ก ํธ์๋ ์ธ์คํด์ค ๋ก๋ ๋ฐธ๋ฐ์ฑ: ํน์ ๋ง์ดํฌ๋กํ๋ก ํธ์๋๊ฐ ํ์ฅ์ฑ์ ์ํด ์ฌ๋ฌ ์ธ์คํด์ค๋ก ๋ฐฐํฌ๋๋ ๊ฒฝ์ฐ ํด๋น ์ธ์คํด์ค๋ก์ ํธ๋ํฝ์ ๊ท ํ ์๊ฒ ๋ถ๋ฐฐํด์ผ ํฉ๋๋ค.
์ผ๋ฐ์ ์ธ ๋ก๋ ๋ฐธ๋ฐ์ฑ ์๊ณ ๋ฆฌ์ฆ
๋ก๋ ๋ฐธ๋ฐ์๋ ์ด๋ค ์๋ฒ๋ก ํธ๋ํฝ์ ๋ณด๋ผ์ง ๊ฒฐ์ ํ๊ธฐ ์ํด ๋ค์ํ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํฉ๋๋ค. ์๊ณ ๋ฆฌ์ฆ ์ ํ์ ์ฑ๋ฅ ๋ฐ ๋ฆฌ์์ค ์ฌ์ฉ๋ฅ ์ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค.
1. ๋ผ์ด๋ ๋ก๋น
๊ฐ์ฅ ๊ฐ๋จํ ์๊ณ ๋ฆฌ์ฆ ์ค ํ๋์ ๋๋ค. ์์ฒญ์ ๋ชฉ๋ก์ ๊ฐ ์๋ฒ์ ์์ฐจ์ ์ผ๋ก ๋ถ๋ฐฐ๋ฉ๋๋ค. ๋ชฉ๋ก ๋์ ๋๋ฌํ๋ฉด ์ฒ์๋ถํฐ ๋ค์ ์์ํฉ๋๋ค.
์: ์๋ฒ A, B, C. ์์ฒญ: 1->A, 2->B, 3->C, 4->A, 5->B ๋ฑ
์ฅ์ : ๊ตฌํ์ด ๊ฐ๋จํ๊ณ ์๋ฒ ์ฉ๋์ด ์ ์ฌํ ๊ฒฝ์ฐ ๋ถํ๋ฅผ ๊ณ ๋ฅด๊ฒ ๋ถ์ฐํฉ๋๋ค.
๋จ์ : ์๋ฒ ๋ถํ ๋๋ ์๋ต ์๊ฐ์ ๊ณ ๋ คํ์ง ์์ต๋๋ค. ๋๋ฆฐ ์๋ฒ๋ ๊ณ์ ์์ฒญ์ ๋ฐ์ ์ ์์ต๋๋ค.
2. ๊ฐ์ค ๋ผ์ด๋ ๋ก๋น
๋ผ์ด๋ ๋ก๋น๊ณผ ์ ์ฌํ์ง๋ง ์๋ฒ์ ์๋ ์ฉ๋์ ๋ํ๋ด๋ '๊ฐ์ค์น'๊ฐ ํ ๋น๋ฉ๋๋ค. ๊ฐ์ค์น๊ฐ ๋์ ์๋ฒ๋ ๋ ๋ง์ ์์ฒญ์ ๋ฐ์ต๋๋ค. ์ด๋ ์๋ก ๋ค๋ฅธ ํ๋์จ์ด ์ฌ์์ด ์๋ ์๋ฒ๊ฐ ์๋ ๊ฒฝ์ฐ ์ ์ฉํฉ๋๋ค.
์: ์๋ฒ A (๊ฐ์ค์น 2), ์๋ฒ B (๊ฐ์ค์น 1). ์์ฒญ: A, A, B, A, A, B.
์ฅ์ : ์๋ก ๋ค๋ฅธ ์๋ฒ ์ฉ๋์ ๊ณ ๋ คํฉ๋๋ค.
๋จ์ : ์ฌ์ ํ ์ค์ ์๋ฒ ๋ถํ ๋๋ ์๋ต ์๊ฐ์ ๊ณ ๋ คํ์ง ์์ต๋๋ค.
3. ์ต์ ์ฐ๊ฒฐ
์ด ์๊ณ ๋ฆฌ์ฆ์ ๊ฐ์ฅ ์ ์ ํ์ฑ ์ฐ๊ฒฐ์ด ์๋ ์๋ฒ๋ก ํธ๋ํฝ์ ๋ณด๋ ๋๋ค. ์ด๋ ํ์ฌ ์๋ฒ ๋ถํ๋ฅผ ๊ณ ๋ คํ๋ ๋ณด๋ค ๋์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ๋๋ค.
์: ์๋ฒ A์ 5๊ฐ์ ์ฐ๊ฒฐ์ด ์๊ณ ์๋ฒ B์ 2๊ฐ์ ์ฐ๊ฒฐ์ด ์๋ ๊ฒฝ์ฐ ์ ์์ฒญ์ ์๋ฒ B๋ก ์ด๋ํฉ๋๋ค.
์ฅ์ : ํ์ฌ ์๋ฒ ํ๋์ ๊ธฐ๋ฐ์ผ๋ก ๋ถํ๋ฅผ ๋ ํจ๊ณผ์ ์ผ๋ก ๋ถ์ฐํฉ๋๋ค.
๋จ์ : ๊ฐ ์๋ฒ์ ๋ํ ํ์ฑ ์ฐ๊ฒฐ์ ์ถ์ ํด์ผ ํ๋ฏ๋ก ์ค๋ฒํค๋๊ฐ ์ถ๊ฐ๋ฉ๋๋ค.
4. ๊ฐ์ค ์ต์ ์ฐ๊ฒฐ
์ต์ ์ฐ๊ฒฐ๊ณผ ์๋ฒ ๊ฐ์ค์น๋ฅผ ๊ฒฐํฉํฉ๋๋ค. ๊ฐ์ค์น์ ๋นํด ํ์ฑ ์ฐ๊ฒฐ์ด ๊ฐ์ฅ ์ ์ ์๋ฒ๊ฐ ๋ค์ ์์ฒญ์ ๋ฐ์ต๋๋ค.
์ฅ์ : ๋ ๊ฐ์ง ์ฅ์ ์ ๋ชจ๋ ๊ฐ์ถ๊ณ ์์ต๋๋ค. ์๋ฒ ์ฉ๋๊ณผ ํ์ฌ ๋ถํ๋ฅผ ๋ชจ๋ ๊ณ ๋ คํฉ๋๋ค.
๋จ์ : ๊ตฌํ ๋ฐ ๊ด๋ฆฌ๊ฐ ๊ฐ์ฅ ๋ณต์กํฉ๋๋ค.
5. IP ํด์
์ด ๋ฐฉ๋ฒ์ ํด๋ผ์ด์ธํธ IP ์ฃผ์์ ํด์๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ค ์๋ฒ๊ฐ ์์ฒญ์ ๋ฐ์์ง ๊ฒฐ์ ํฉ๋๋ค. ์ด๋ฅผ ํตํด ํน์ ํด๋ผ์ด์ธํธ IP ์ฃผ์์ ๋ชจ๋ ์์ฒญ์ด ๋์ผํ ์๋ฒ๋ก ์ผ๊ด๋๊ฒ ์ ์ก๋ฉ๋๋ค. ์ด๋ ์๋ฒ์ ์ธ์ ์ํ๋ฅผ ์ ์งํ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์ฉํฉ๋๋ค.
์: ํด๋ผ์ด์ธํธ IP 192.168.1.100์ด ์๋ฒ A๋ก ํด์๋ฉ๋๋ค. ์ด IP์ ๋ชจ๋ ํ์ ์์ฒญ์ ์๋ฒ A๋ก ์ด๋ํฉ๋๋ค.
์ฅ์ : ์ํ ์ ์ฅ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์ธ์ ์ง์์ฑ์ ๋ณด์ฅํฉ๋๋ค.
๋จ์ : ๋ง์ ํด๋ผ์ด์ธํธ๊ฐ ๋จ์ผ IP๋ฅผ ๊ณต์ ํ๋ ๊ฒฝ์ฐ(์: NAT ๊ฒ์ดํธ์จ์ด ๋๋ ํ๋ก์ ๋ค), ๋ถํ ๋ถ์ฐ์ด ๊ณ ๋ฅด์ง ์๊ฒ ๋ ์ ์์ต๋๋ค. ์๋ฒ๊ฐ ๋ค์ด๋๋ฉด ํด๋น ์๋ฒ์ ํ ๋น๋ ๋ชจ๋ ํด๋ผ์ด์ธํธ๊ฐ ์ํฅ์ ๋ฐ์ต๋๋ค.
6. ์ต์ ์๋ต ์๊ฐ
๊ฐ์ฅ ์ ์ ํ์ฑ ์ฐ๊ฒฐ๊ณผ ๊ฐ์ฅ ๋ฎ์ ํ๊ท ์๋ต ์๊ฐ์ ๊ฐ์ง ์๋ฒ๋ก ํธ๋ํฝ์ ๋ณด๋ ๋๋ค. ์ด๋ ๋ถํ์ ์๋ต์ฑ ๋ชจ๋๋ฅผ ์ต์ ํํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
์ฅ์ : ์ฌ์ฉ์์๊ฒ ๊ฐ์ฅ ๋น ๋ฅธ ์๋ต์ ์ ๊ณตํ๋ ๋ฐ ์ค์ ์ ๋ก๋๋ค.
๋จ์ : ์๋ต ์๊ฐ์ ๋ํ ๋ณด๋ค ์ ๊ตํ ๋ชจ๋ํฐ๋ง์ด ํ์ํฉ๋๋ค.
๋ค์ํ ๊ณ์ธต์์์ ๋ก๋ ๋ฐธ๋ฐ์ฑ
๊ณ์ธต 4 (์ ์ก ๊ณ์ธต) ๋ก๋ ๋ฐธ๋ฐ์ฑ
์ ์ก ๊ณ์ธต(TCP/UDP)์์ ์๋ํฉ๋๋ค. IP ์ฃผ์์ ํฌํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํธ๋ํฝ์ ์ ๋ฌํฉ๋๋ค. ๋น ๋ฅด๊ณ ํจ์จ์ ์ด์ง๋ง ํธ๋ํฝ ๋ด์ฉ์ ๊ฒ์ฌํ์ง๋ ์์ต๋๋ค.
์: ๋ฐฑ์๋ ์๋น์ค์ ๋ค์ํ ์ธ์คํด์ค๋ก TCP ์ฐ๊ฒฐ์ ๋ถ๋ฐฐํ๋ ๋คํธ์ํฌ ๋ก๋ ๋ฐธ๋ฐ์.
๊ณ์ธต 7 (์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต) ๋ก๋ ๋ฐธ๋ฐ์ฑ
์ ํ๋ฆฌ์ผ์ด์ ๊ณ์ธต(HTTP/HTTPS)์์ ์๋ํฉ๋๋ค. HTTP ํค๋, URL, ์ฟ ํค ๋ฑ๊ณผ ๊ฐ์ ํธ๋ํฝ ๋ด์ฉ์ ๊ฒ์ฌํ์ฌ ๋ ์ง๋ฅ์ ์ธ ๋ผ์ฐํ ๊ฒฐ์ ์ ๋ด๋ฆด ์ ์์ต๋๋ค. ์ด๋ ์ข ์ข API ๊ฒ์ดํธ์จ์ด์์ ์ฌ์ฉ๋ฉ๋๋ค.
์: URL ๊ฒฝ๋ก๋ฅผ ๊ธฐ๋ฐ์ผ๋ก /api/products ์์ฒญ์ ์ ํ ์๋น์ค ์ธ์คํด์ค๋ก, /api/cart ์์ฒญ์ ์นดํธ ์๋น์ค ์ธ์คํด์ค๋ก ๋ผ์ฐํ
ํ๋ API ๊ฒ์ดํธ์จ์ด.
์ค๋ฌด์์์ ๋ก๋ ๋ฐธ๋ฐ์ฑ ๊ตฌํ
1. ํด๋ผ์ฐ๋ ์ ๊ณต์ ์ฒด ๋ก๋ ๋ฐธ๋ฐ์:
์ฃผ์ ํด๋ผ์ฐ๋ ์ ๊ณต์ ์ฒด(AWS, Azure, GCP)๋ ๊ด๋ฆฌํ ๋ก๋ ๋ฐธ๋ฐ์ฑ ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ค์ ํ์ฅ์ฑ์ด ๋๊ณ ์์ ์ ์ด๋ฉฐ ์ปดํจํ ์๋น์ค(์: EC2, AKS, GKE)์ ์ํํ๊ฒ ํตํฉ๋ฉ๋๋ค.
- AWS: Elastic Load Balancing (ELB) - Application Load Balancer (ALB), Network Load Balancer (NLB), Gateway Load Balancer (GLB). ALB๋ ๊ณ์ธต 7์ด๋ฉฐ HTTP/S ํธ๋ํฝ์ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
- Azure: Azure Load Balancer, Application Gateway.
- GCP: Cloud Load Balancing (HTTP(S) Load Balancing, TCP/SSL Proxy Load Balancing).
์ด๋ฌํ ์๋น์ค๋ ์ข ์ข ๋ด์ฅ๋ ์ํ ํ์ธ, SSL ์ข ๋ฃ ๋ฐ ๋ค์ํ ๋ก๋ ๋ฐธ๋ฐ์ฑ ์๊ณ ๋ฆฌ์ฆ ์ง์์ ์ ๊ณตํฉ๋๋ค.
2. API ๊ฒ์ดํธ์จ์ด:Kong, Traefik ๋๋ Apigee์ ๊ฐ์ API ๊ฒ์ดํธ์จ์ด๋ ์ข ์ข ๋ก๋ ๋ฐธ๋ฐ์ฑ ๊ธฐ๋ฅ์ ํตํฉํฉ๋๋ค. ์ ์๋ ๊ท์น์ ๋ฐ๋ผ ๋ฐฑ์๋ ์๋น์ค๋ก ํธ๋ํฝ์ ๋ผ์ฐํ ํ๊ณ ์ฌ์ฉ ๊ฐ๋ฅํ ์ธ์คํด์ค ๊ฐ์ ๋ถ๋ฐฐํ ์ ์์ต๋๋ค.
์: ๋ง์ดํฌ๋กํ๋ก ํธ์๋ ํ์ api.example.com/users๋ก์ ๋ชจ๋ ์์ฒญ์ user-service ํด๋ฌ์คํฐ๋ก ๋ผ์ฐํ
ํ๋๋ก API ๊ฒ์ดํธ์จ์ด๋ฅผ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. API ๊ฒ์ดํธ์จ์ด๋ user-service์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ธ์คํด์ค(์๋น์ค ๊ฒ์์ ํตํด)๋ฅผ ์๊ณ ์์ผ๋ฉด ์ ํํ ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ฌ ์ฌ์ฉ ๊ฐ๋ฅํ ์ ๋ฝ ์ธ์คํด์ค ๊ฐ์ ๋ค์ด์ค๋ ์์ฒญ์ ๋ก๋ ๋ฐธ๋ฐ์ฑํฉ๋๋ค.
Istio ๋๋ Linkerd์ ๊ฐ์ ์์ ํ ์๋น์ค ๋ฉ์๋ฅผ ์ฌ์ฉํ ๋ ์๋น์ค ๋ฉ์ ๋ฐ์ดํฐ ํ๋ ์ธ(Envoy์ ๊ฐ์ ํ๋ก์๋ก ๊ตฌ์ฑ๋จ)์ ์๋น์ค ๊ฒ์ ๋ฐ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ๋ชจ๋ ์๋์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค. ํ๋ก์๋ ์๋น์ค์์ ๋๊ฐ๋ ๋ชจ๋ ํธ๋ํฝ์ ๊ฐ๋ก์ฑ๊ณ ์๋น์ค ๊ฒ์ ๋ฉ์ปค๋์ฆ(์ข ์ข Kubernetes DNS ๋๋ ์ฌ์ฉ์ ์ง์ ๋ ์ง์คํธ๋ฆฌ)์ ํตํด ์๋น์ค ์ฃผ์๋ฅผ ์ง๋ฅ์ ์ผ๋ก ํ์ธํ ๋ค์ ์๋น์ค ๋ฉ์ ์ ์ด ํ๋ ์ธ์ ๊ตฌ์ฑ๋ ๋ก๋ ๋ฐธ๋ฐ์ฑ ์ ์ฑ ์ ์ ์ฉํ์ฌ ๋์ ์๋น์ค์ ์ ์ ์ธ์คํด์ค๋ฅผ ์ ํํฉ๋๋ค.
์: ๋ค๋ฅธ ์๋น์ค์ HTTP ์์ฒญ์ ๋ณด๋ด๋ ๋ง์ดํฌ๋กํ๋ก ํธ์๋. ๋ง์ดํฌ๋กํ๋ก ํธ์๋์ ํจ๊ป ์ฝ์ ๋ Envoy ํ๋ก์๋ ์๋น์ค ๊ฒ์ ๋ฉ์ปค๋์ฆ(์ข ์ข Kubernetes DNS ๋๋ ์ฌ์ฉ์ ์ง์ ๋ ์ง์คํธ๋ฆฌ)์ ํตํด ์๋น์ค ์ฃผ์๋ฅผ ํ์ธํ ๋ค์ ๋ก๋ ๋ฐธ๋ฐ์ฑ ์ ์ฑ ์ ์ ์ฉํ์ฌ ๋์ ์๋น์ค์ ์ ์ ์ธ์คํด์ค๋ฅผ ์ ํํฉ๋๋ค.
์๋น์ค ๊ฒ์ ๋ฐ ๋ก๋ ๋ฐธ๋ฐ์ฑ ํตํฉ
ํ๋ก ํธ์๋ ๋ง์ดํฌ๋ก์๋น์ค ๋ฉ์ฌ์ ๊ฐ๋ ฅํจ์ ์๋น์ค ๊ฒ์ ๋ฐ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ์ํํ ํตํฉ์์ ๋น๋กฏ๋ฉ๋๋ค. ์ด๋ค์ ๋ ๋ฆฝ์ ์ธ ๊ธฐ๋ฅ์ด ์๋๋ผ ํจ๊ป ์๋ํ๋ ์ํธ ๋ณด์์ ์ธ ๋ฉ์ปค๋์ฆ์ ๋๋ค.
์ผ๋ฐ์ ์ธ ํ๋ฆ:
- ์๋น์ค ๋ฑ๋ก: ๋ง์ดํฌ๋กํ๋ก ํธ์๋ ์ธ์คํด์ค ๋ฐ ๋ฐฑ์๋ ์๋น์ค ์ธ์คํด์ค๋ ์์ฒด๋ฅผ ์ค์ ์๋น์ค ๋ ์ง์คํธ๋ฆฌ(์: Kubernetes DNS, Consul, Eureka)์ ๋ฑ๋กํฉ๋๋ค.
- ๊ฒ์: ์์ฒญ์ด ์ด๋ฃจ์ด์ ธ์ผ ํฉ๋๋ค. ์ค๊ฐ ๊ตฌ์ฑ ์์(API ๊ฒ์ดํธ์จ์ด, ์๋น์ค ํ๋ก์ ๋๋ ํด๋ผ์ด์ธํธ ์ธก ํด๊ฒฐ์)๋ ์๋น์ค ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์ฟผ๋ฆฌํ์ฌ ๋์ ์๋น์ค์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋คํธ์ํฌ ์์น ๋ชฉ๋ก์ ๊ฐ์ ธ์ต๋๋ค.
- ๋ก๋ ๋ฐธ๋ฐ์ฑ ๊ฒฐ์ : ์ฟผ๋ฆฌ๋ ๋ชฉ๋ก๊ณผ ๊ตฌ์ฑ๋ ๋ก๋ ๋ฐธ๋ฐ์ฑ ์๊ณ ๋ฆฌ์ฆ์ ๊ธฐ๋ฐ์ผ๋ก ์ค๊ฐ ๊ตฌ์ฑ ์์๊ฐ ํน์ ์ธ์คํด์ค๋ฅผ ์ ํํฉ๋๋ค.
- ์์ฒญ ์ ๋ฌ: ์์ฒญ์ด ์ ํ๋ ์ธ์คํด์ค๋ก ์ ์ก๋ฉ๋๋ค.
- ์ํ ํ์ธ: ๋ก๋ ๋ฐธ๋ฐ์ ๋๋ ์๋น์ค ๋ ์ง์คํธ๋ฆฌ๋ ๋ฑ๋ก๋ ์ธ์คํด์ค์ ๋ํด ์ง์์ ์ผ๋ก ์ํ ํ์ธ์ ์ํํฉ๋๋ค. ๋น์ ์์ ์ธ ์ธ์คํด์ค๋ ์ฌ์ฉ ๊ฐ๋ฅํ ๋์ ํ์์ ์ ๊ฑฐ๋์ด ํด๋น ์ธ์คํด์ค๋ก ์์ฒญ์ด ์ ์ก๋์ง ์๋๋ก ํฉ๋๋ค.
์์ ์๋๋ฆฌ์ค: ๊ธ๋ก๋ฒ ์ ์์๊ฑฐ๋ ํ๋ซํผ
๋ง์ดํฌ๋กํ๋ก ํธ์๋ ๋ฐ ๋ง์ดํฌ๋ก์๋น์ค๋ก ๊ตฌ์ถ๋ ๊ธ๋ก๋ฒ ์ ์์๊ฑฐ๋ ํ๋ซํผ์ ์์ํด ๋ณด์ธ์:
- ์ฌ์ฉ์ ๊ฒฝํ: ์ ๋ฝ์ ์ฌ์ฉ์๊ฐ ์ ํ ์นดํ๋ก๊ทธ์ ์ก์ธ์คํฉ๋๋ค. ์ฌ์ฉ์์ ์์ฒญ์ ๋จผ์ ๊ธ๋ก๋ฒ ๋ก๋ ๋ฐธ๋ฐ์์ ๋๋ฌํ๊ณ , ์ด๋ ์ฌ์ฉ์๋ฅผ ๊ฐ์ฅ ๊ฐ๊น์ด ์ฌ์ฉ ๊ฐ๋ฅํ ์ง์ ์ (์: ์ ๋ฝ API ๊ฒ์ดํธ์จ์ด)์ผ๋ก ์๋ดํฉ๋๋ค.
- API ๊ฒ์ดํธ์จ์ด: ์ ๋ฝ API ๊ฒ์ดํธ์จ์ด๋ ์ ํ ๋ฐ์ดํฐ์ ๋ํ ์์ฒญ์ ์์ ํฉ๋๋ค.
- ์๋น์ค ๊ฒ์: API ๊ฒ์ดํธ์จ์ด(์๋ฒ ์ธก ๊ฒ์ ํด๋ผ์ด์ธํธ๋ก ์๋)๋ ์๋น์ค ๋ ์ง์คํธ๋ฆฌ(์: Kubernetes ํด๋ฌ์คํฐ์ DNS)๋ฅผ ์ฟผ๋ฆฌํ์ฌ
product-catalog-service์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ธ์คํด์ค(์ ๋ฝ ๋ฐ์ดํฐ ์ผํฐ์ ๋ฐฐํฌ๋ ์ ์์)๋ฅผ ์ฐพ์ต๋๋ค. - ๋ก๋ ๋ฐธ๋ฐ์ฑ: API ๊ฒ์ดํธ์จ์ด๋ ๋ก๋ ๋ฐธ๋ฐ์ฑ ์๊ณ ๋ฆฌ์ฆ(์: ์ต์ ์ฐ๊ฒฐ)์ ์ ์ฉํ์ฌ ํด๋น ์์ฒญ์ ์ฒ๋ฆฌํ
product-catalog-service์ ์ต์ ์ธ์คํด์ค๋ฅผ ์ ํํ๊ณ , ์ ๋ฝ ์ธ์คํด์ค ๊ฐ์ ๊ท ๋ฑํ ๋ถ๋ฐฐ๋ฅผ ๋ณด์ฅํฉ๋๋ค. - ๋ฐฑ์๋ ํต์ :
product-catalog-service๋pricing-service๋ฅผ ํธ์ถํด์ผ ํ ์ ์์ต๋๋ค. ์์ฒด ์๋น์ค ๊ฒ์ ๋ฐ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ์ํํ์ฌ ์ ์pricing-service์ธ์คํด์ค์ ์ฐ๊ฒฐํฉ๋๋ค.
์ด๋ฌํ ๋ถ์ฐํ๋๊ณ ์กฐ์ ๋ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉ์๊ฐ ์ด๋์ ์๋ ๋๋ ๊ฐ ์๋น์ค์ ์ธ์คํด์ค๊ฐ ๋ช ๊ฐ ์คํ๋๋ ๊ด๊ณ์์ด ์ฌ์ฉ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ฅ์ ๋น ๋ฅด๊ณ ์์ ์ ์ผ๋ก ์ก์ธ์คํ ์ ์๋๋ก ๋ณด์ฅํฉ๋๋ค.
ํ๋ก ํธ์๋ ๋ง์ดํฌ๋ก์๋น์ค์ ๊ณผ์ ๋ฐ ๊ณ ๋ ค ์ฌํญ
์์น์ ๋ฐฑ์๋ ์๋น์ค ๋ฉ์ฌ์ ์ ์ฌํ์ง๋ง ํ๋ก ํธ์๋์ ์ ์ฉํ๋ฉด ๊ณ ์ ํ ๊ณผ์ ๊ฐ ๋ฐ์ํฉ๋๋ค:
- ํด๋ผ์ด์ธํธ ์ธก ๋ณต์ก์ฑ: ํ๋ก ํธ์๋ ํ๋ ์์ํฌ(React, Angular, Vue ๋ฑ)์ ํด๋ผ์ด์ธํธ ์ธก ์๋น์ค ๊ฒ์ ๋ฐ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ์ง์ ๊ตฌํํ๋ ๊ฒ์ ๋ฒ๊ฑฐ๋กญ๊ณ ํด๋ผ์ด์ธํธ ์ ํ๋ฆฌ์ผ์ด์ ์ ์๋นํ ์ค๋ฒํค๋๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์ด๋ก ์ธํด ์๋ฒ ์ธก ๊ฒ์์ด ์ ํธ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
- ์ํ ๊ด๋ฆฌ: ๋ง์ดํฌ๋กํ๋ก ํธ์๋๊ฐ ๊ณต์ ์ํ ๋๋ ์ธ์ ์ ๋ณด์ ์์กดํ๋ ๊ฒฝ์ฐ ๋ถ์ฐ ์ธ์คํด์ค ๊ฐ์ ์ด ์ํ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ๊ด๋ฆฌ๋๋๋ก ํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. IP ํด์ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ์ํ๊ฐ ์๋ฒ์ ๋ฐ์ธ๋ฉ๋ ๊ฒฝ์ฐ ์ธ์ ์ง์์ฑ์ ๋์ธ ์ ์์ต๋๋ค.
- ํ๋ก ํธ์๋ ๊ฐ ํต์ : ๋ง์ดํฌ๋กํ๋ก ํธ์๋๋ ์๋ก ํต์ ํด์ผ ํ ์ ์์ต๋๋ค. ์ ์ฌ์ ์ผ๋ก BFF ๋๋ ์ด๋ฒคํธ ๋ฒ์ค๋ฅผ ํตํด ์ด ํต์ ์ ์กฐ์ ํ๋ ๊ฒ์ ์ ์คํ ์ค๊ณ๊ฐ ํ์ํ๋ฉฐ ํต์ ์๋ํฌ์ธํธ๋ฅผ ์ฐพ๊ธฐ ์ํด ์๋น์ค ๊ฒ์์ ํ์ฉํ ์ ์์ต๋๋ค.
- ๋๊ตฌ ๋ฐ ์ธํ๋ผ: ํ์ํ ์ธํ๋ผ(API ๊ฒ์ดํธ์จ์ด, ์๋น์ค ๋ ์ง์คํธ๋ฆฌ, ํ๋ก์)๋ฅผ ์ค์ ํ๊ณ ๊ด๋ฆฌํ๋ ค๋ฉด ์ ๋ฌธ์ ์ธ ๊ธฐ์ ์ด ํ์ํ๋ฉฐ ์ด์ ๋ณต์ก์ฑ์ ๋ํ ์ ์์ต๋๋ค.
- ์ฑ๋ฅ ์ํฅ: ๋ชจ๋ ๊ฐ์ ๊ณ์ธต(์: API ๊ฒ์ดํธ์จ์ด, ํ๋ก์)์ ๋๊ธฐ ์๊ฐ์ ์ ๋ฐํ ์ ์์ต๋๋ค. ๋ผ์ฐํ ๋ฐ ๊ฒ์ ํ๋ก์ธ์ค ์ต์ ํ๊ฐ ์ค์ํฉ๋๋ค.
- ๋ณด์: ๋ง์ดํฌ๋กํ๋ก ํธ์๋์ ๋ฐฑ์๋ ์๋น์ค ๊ฐ์ ํต์ ์ ๋ณดํธํ๊ณ ๊ฒ์ ๋ฐ ๋ก๋ ๋ฐธ๋ฐ์ฑ ์ธํ๋ผ ์์ฒด์ ๋ํ ์ก์ธ์ค๋ฅผ ๋ณดํธํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ค์ํฉ๋๋ค.
๊ฒฌ๊ณ ํ ํ๋ก ํธ์๋ ๋ง์ดํฌ๋ก์๋น์ค ๋ฉ์๋ฅผ ์ํ ๋ชจ๋ฒ ์ฌ๋ก
ํ๋ก ํธ์๋ ๋ง์ดํฌ๋ก์๋น์ค๋ฅผ ์ํ ์๋น์ค ๊ฒ์ ๋ฐ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ํจ๊ณผ์ ์ผ๋ก ๊ตฌํํ๋ ค๋ฉด ๋ค์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๊ณ ๋ คํ์ธ์:
- ์๋ฒ ์ธก ๊ฒ์ ์ฐ์ : ๋๋ถ๋ถ์ ํ๋ก ํธ์๋ ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ์ ๊ฒฝ์ฐ API ๊ฒ์ดํธ์จ์ด ๋๋ ์ ์ฉ ๋ผ์ฐํ ๊ณ์ธต์ ํ์ฉํ์ฌ ์๋น์ค ๊ฒ์ ๋ฐ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ์ํํ๋ฉด ํ๋ก ํธ์๋ ์ฝ๋๊ฐ ๋จ์ํ๋๊ณ ๊ด๋ฆฌ๊ฐ ์ค์ ์ง์คํ๋ฉ๋๋ค.
- ๋ฑ๋ก ๋ฐ ๋ฑ๋ก ์ทจ์ ์๋ํ: ์๋น์ค ๋ ์ง์คํธ๋ฆฌ๋ฅผ ์ต์ ์ํ๋ก ์ ์งํ๊ธฐ ์ํด ์๋น์ค๊ฐ ์์๋ ๋ ์๋์ผ๋ก ๋ฑ๋กํ๊ณ ์ข ๋ฃ๋ ๋ ์ ์์ ์ผ๋ก ๋ฑ๋ก ์ทจ์ํ๋๋ก ํฉ๋๋ค. ์ปจํ ์ด๋ ์ค์ผ์คํธ๋ ์ด์ ํ๋ซํผ์ ์ข ์ข ์ด๋ฅผ ์๋์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค.
- ๊ฒฌ๊ณ ํ ์ํ ํ์ธ ๊ตฌํ: ๋ชจ๋ ์๋น์ค ์ธ์คํด์ค์ ๋ํด ๋น๋ฒํ๊ณ ์ ํํ ์ํ ํ์ธ์ ๊ตฌ์ฑํฉ๋๋ค. ๋ก๋ ๋ฐธ๋ฐ์ ๋ฐ ์๋น์ค ๋ ์ง์คํธ๋ฆฌ๋ ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ ์ ์ธ์คํด์ค์๋ง ํธ๋ํฝ์ ๋ผ์ฐํ ํฉ๋๋ค.
- ์ ์ ํ ๋ก๋ ๋ฐธ๋ฐ์ฑ ์๊ณ ๋ฆฌ์ฆ ์ ํ: ์๋ฒ ์ฉ๋, ํ์ฌ ๋ถํ ๋ฐ ์ธ์ ์ง์์ฑ ์๊ตฌ ์ฌํญ๊ณผ ๊ฐ์ ์์๋ฅผ ๊ณ ๋ คํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์๊ตฌ ์ฌํญ์ ๊ฐ์ฅ ์ ํฉํ ์๊ณ ๋ฆฌ์ฆ์ ์ ํํฉ๋๋ค. ๊ฐ๋จํ๊ฒ(์: ๋ผ์ด๋ ๋ก๋น) ์์ํ์ฌ ํ์์ ๋ฐ๋ผ ๋ฐ์ ์ํค์ธ์.
- ์๋น์ค ๋ฉ์ ํ์ฉ: ๋ณต์กํ ๋ง์ดํฌ๋กํ๋ก ํธ์๋ ๋ฐฐํฌ์ ๊ฒฝ์ฐ Istio ๋๋ Linkerd์ ๊ฐ์ ์์ ํ ์๋น์ค ๋ฉ์ ์๋ฃจ์ ์ ์ฑํํ๋ฉด ๊ณ ๊ธ ํธ๋ํฝ ๊ด๋ฆฌ, ๋ณด์ ๋ฐ ๊ด์ฐฐ ๊ฐ๋ฅ์ฑ์ ํฌํจํ ํฌ๊ด์ ์ธ ๊ธฐ๋ฅ ์ธํธ๋ฅผ ์ ๊ณตํ ์ ์์ผ๋ฉฐ, ์ข ์ข Envoy ๋๋ Linkerd ํ๋ก์๋ฅผ ํ์ฉํฉ๋๋ค.
- ๊ด์ฐฐ ๊ฐ๋ฅ์ฑ์ ์ํ ์ค๊ณ: ๋ชจ๋ ๋ง์ดํฌ๋ก์๋น์ค์ ์ด๋ฅผ ๊ด๋ฆฌํ๋ ์ธํ๋ผ์ ๋ํ ํฌ๊ด์ ์ธ ๋ก๊น , ๋ฉํธ๋ฆญ ๋ฐ ์ถ์ ๊ธฐ๋ฅ์ด ์๋์ง ํ์ธํฉ๋๋ค. ์ด๋ ๋ฌธ์ ํด๊ฒฐ ๋ฐ ์ฑ๋ฅ ๋ณ๋ชฉ ํ์ ์ดํด์ ์ค์ํฉ๋๋ค.
- ์ธํ๋ผ ๋ณด์: ์๋น์ค ๊ฐ ํต์ ์ ๋ํ ์ธ์ฆ ๋ฐ ๊ถํ ๋ถ์ฌ๋ฅผ ๊ตฌํํ๊ณ ์๋น์ค ๋ ์ง์คํธ๋ฆฌ ๋ฐ ๋ก๋ ๋ฐธ๋ฐ์์ ๋ํ ์ก์ธ์ค๋ฅผ ๋ณดํธํฉ๋๋ค.
- ์ง์ญ ๋ฐฐํฌ ๊ณ ๋ ค: ๊ธ๋ก๋ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒฝ์ฐ ์ ์ธ๊ณ ์ฌ์ฉ์์๊ฒ ๋๊ธฐ ์๊ฐ์ ์ต์ํํ๊ณ ์ฅ์ ๋ด์ฑ์ ๊ฐ์ ํ๊ธฐ ์ํด ์ฌ๋ฌ ์ง๋ฆฌ์ ์ง์ญ์ ๋ง์ดํฌ๋ก์๋น์ค ๋ฐ ์ง์ ์ธํ๋ผ(API ๊ฒ์ดํธ์จ์ด, ๋ก๋ ๋ฐธ๋ฐ์)๋ฅผ ๋ฐฐํฌํฉ๋๋ค.
- ๋ฐ๋ณต ๋ฐ ์ต์ ํ: ๋ถ์ฐ๋ ํ๋ก ํธ์๋์ ์ฑ๋ฅ ๋ฐ ๋์์ ์ง์์ ์ผ๋ก ๋ชจ๋ํฐ๋งํฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ด ํ์ฅ๋๊ณ ๋ฐ์ ํจ์ ๋ฐ๋ผ ๋ก๋ ๋ฐธ๋ฐ์ฑ ์๊ณ ๋ฆฌ์ฆ, ์๋น์ค ๊ฒ์ ๊ตฌ์ฑ ๋ฐ ์ธํ๋ผ๋ฅผ ์กฐ์ ํ ์ค๋น๋ฅผ ํฉ๋๋ค.
๊ฒฐ๋ก
ํจ๊ณผ์ ์ธ ์๋น์ค ๊ฒ์ ๋ฐ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ผ๋ก ๊ตฌ๋๋๋ ํ๋ก ํธ์๋ ๋ง์ดํฌ๋ก์๋น์ค ๋ฉ์ฌ ๊ฐ๋ ์ ์ต์ , ํ์ฅ ๊ฐ๋ฅํ๊ณ ํ๋ ฅ์ ์ธ ๊ธ๋ก๋ฒ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๋ ์กฐ์ง์ ํ์์ ์ ๋๋ค. ๋์ ์๋น์ค ์์น์ ๋ณต์ก์ฑ์ ์ถ์ํํ๊ณ ํธ๋ํฝ์ ์ง๋ฅ์ ์ผ๋ก ๋ถ๋ฐฐํจ์ผ๋ก์จ ์ด๋ฌํ ๋ฉ์ปค๋์ฆ์ ํ์ด ๋ ๋ฆฝ์ ์ธ ํ๋ก ํธ์๋ ๊ตฌ์ฑ ์์๋ฅผ ์์ ์๊ฒ ๊ตฌ์ถํ๊ณ ๋ฐฐํฌํ ์ ์๋๋ก ํฉ๋๋ค.
ํด๋ผ์ด์ธํธ ์ธก ๊ฒ์์๋ ๊ณ ์ ํ ์ฅ์ ์ด ์์ง๋ง, API ๊ฒ์ดํธ์จ์ด๋ก ์ค์ผ์คํธ๋ ์ด์ ๋๊ฑฐ๋ ์๋น์ค ๋ฉ์์ ํตํฉ๋๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ ์๋ฒ ์ธก ๊ฒ์์ ์ด์ ์ ๋ง์ดํฌ๋กํ๋ก ํธ์๋ ์ํคํ ์ฒ์ ๋งค๋ ฅ์ ์ ๋๋ค. ์ง๋ฅ์ ์ธ ๋ก๋ ๋ฐธ๋ฐ์ฑ ์ ๋ต๊ณผ ๊ฒฐํฉ๋ ์ด ์ ๊ทผ ๋ฐฉ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฑ๋ฅ์ด ๋ฐ์ด๋๊ณ ๊ฐ์ฉ์ฑ์ด ๋์ผ๋ฉฐ ๋์์์ด ๋ณํํ๋ ๊ธ๋ก๋ฒ ๋์งํธ ํ๊ฒฝ์ ์๊ตฌ ์ฌํญ์ ์ ์ํ ์ ์๋๋ก ๋ณด์ฅํฉ๋๋ค. ์ด๋ฌํ ์์น์ ์ฑํํ๋ฉด ๋ณด๋ค ๋ฏผ์ฒฉํ ๊ฐ๋ฐ, ํฅ์๋ ์์คํ ํ๋ ฅ์ฑ ๋ฐ ์ ์ธ๊ณ ์ฌ์ฉ์์๊ฒ ๋ ๋์ ์ฌ์ฉ์ ๊ฒฝํ์ ์ป์ ์ ์์ต๋๋ค.